অ্যাট্রিবিউট ডিরেক্টিভস (ngClass, ngStyle)

Web Development - অ্যাঙ্গুলার (Angular) - টেম্পলেট এবং ডিরেক্টিভস |

Angular-এ অ্যাট্রিবিউট ডিরেক্টিভস ব্যবহৃত হয় HTML এলিমেন্টের আচরণ বা স্টাইল পরিবর্তন করার জন্য। এই ধরনের ডিরেক্টিভস, যেমন ngClass এবং ngStyle, কোন HTML অ্যাট্রিবিউট পরিবর্তন করে এবং এর মাধ্যমে UI কে ডায়নামিকভাবে কাস্টমাইজ করা যায়।


ngClass

ngClass ডিরেক্টিভটি একটি HTML এলিমেন্টের ক্লাস অ্যাট্রিবিউট পরিবর্তন করতে ব্যবহৃত হয়। এর মাধ্যমে আপনি একাধিক ক্লাস অ্যাড বা রিমুভ করতে পারেন, অথবা কোনো শর্তের ভিত্তিতে ক্লাস অ্যাট্রিবিউট পরিবর্তন করতে পারেন।

ব্যবহার

ngClass সাধারণত একটি অবজেক্ট, অ্যারে, বা স্ট্রিং হিসেবে কাজ করে। শর্তসাপেক্ষে এক বা একাধিক CSS ক্লাস অ্যাড করতে পারবেন।

উদাহরণ

  1. স্ট্রিং ব্যবহার করে:

    <div [ngClass]="'highlight'">This text will be highlighted</div>
    

    এখানে, highlight ক্লাসটি সরাসরি div ট্যাগে অ্যাড করা হবে।

  2. অবজেক্ট ব্যবহার করে:

    <div [ngClass]="{ 'highlight': isHighlighted, 'bold': isBold }">Styled text</div>
    

    এখানে, isHighlighted এবং isBold যদি true হয়, তাহলে highlight এবং bold ক্লাসগুলি যোগ করা হবে। false থাকলে তা রিমুভ করা হবে।

  3. অ্যারে ব্যবহার করে:

    <div [ngClass]="['highlight', isBold ? 'bold' : '']">Text with dynamic classes</div>
    

    এখানে, highlight ক্লাসটি সব সময় যোগ হবে, এবং isBold যদি true হয়, তাহলে bold ক্লাসটি যোগ হবে।

কোড উদাহরণ:

<div [ngClass]="{ 'highlight': isHighlighted, 'bold': isBold }">
  This is a dynamically styled text.
</div>
export class AppComponent {
  isHighlighted = true;
  isBold = false;
}

এই উদাহরণে, highlight ক্লাসটি isHighlighted এর ভিত্তিতে যোগ হবে, এবং bold ক্লাসটি isBold এর ভিত্তিতে যোগ বা রিমুভ হবে।


ngStyle

ngStyle ডিরেক্টিভটি HTML এলিমেন্টের ইনলাইন স্টাইল পরিবর্তন করার জন্য ব্যবহৃত হয়। এর মাধ্যমে আপনি CSS প্রোপার্টি যেমন color, background-color, font-size, ইত্যাদি ডায়নামিকভাবে পরিবর্তন করতে পারেন।

ব্যবহার

ngStyle একটি অবজেক্ট হিসেবে কাজ করে যেখানে CSS প্রোপার্টির নাম এবং তাদের মান নির্ধারণ করা থাকে।

উদাহরণ

  1. স্টাইল অবজেক্ট ব্যবহার করে:

    <div [ngStyle]="{ 'color': color, 'font-size': fontSize }">Styled text</div>
    

    এখানে, color এবং font-size স্টাইল প্রোপার্টি ডায়নামিকভাবে পরিবর্তিত হবে কম্পোনেন্টের ডেটার উপর ভিত্তি করে।

  2. ডাইনামিক স্টাইল পরিবর্তন:

    <div [ngStyle]="{ 'background-color': isActive ? 'green' : 'red' }">
      This div's background color will change based on 'isActive'.
    </div>
    

    এখানে, isActive যদি true হয়, green ব্যাকগ্রাউন্ড রঙ হবে; আর false হলে red হবে।

কোড উদাহরণ:

<div [ngStyle]="{ 'color': textColor, 'font-size': fontSize + 'px' }">
  This is a styled text.
</div>
export class AppComponent {
  textColor = 'blue';
  fontSize = 20;
}

এখানে, textColor এবং fontSize ডাইনামিকভাবে পরিবর্তিত হবে, এবং স্টাইলের প্রোপার্টি হিসেবে color এবং font-size অ্যাপ্লাই করা হবে।


ngClass এবং ngStyle এর মধ্যে পার্থক্য

  • ngClass CSS ক্লাসগুলিকে অ্যাড বা রিমুভ করে, যেটি স্টাইলিংয়ের জন্য ব্যবহৃত হয়। এটি ক্লাসের পরিবর্তন করে তবে প্রপার্টি মান পরিবর্তন করে না।
  • ngStyle সরাসরি ইনলাইন CSS প্রোপার্টি মান পরিবর্তন করে, যেমন color, background-color, font-size ইত্যাদি।

উপসংহার

ngClass এবং ngStyle Angular এর শক্তিশালী ডিরেক্টিভস, যা UI-এর স্টাইল এবং ক্লাস ডায়নামিকভাবে পরিচালনা করতে সাহায্য করে। ngClass ব্যবহার করে আপনি শর্তসাপেক্ষে একাধিক ক্লাস অ্যাড বা রিমুভ করতে পারেন, আর ngStyle ব্যবহার করে আপনি সরাসরি স্টাইল প্রোপার্টি নিয়ন্ত্রণ করতে পারেন। এই ডিরেক্টিভস Angular অ্যাপ্লিকেশনে ডাইনামিক ইন্টারফেস তৈরি করার জন্য গুরুত্বপূর্ণ টুল হিসেবে কাজ করে।

Content added By
Promotion